1. Field of the Invention
The present invention relates to a device for controlling a transfer rate of a system for multicasting a fixed-length packet, and more particularly to a device for controlling a cell transfer rate in a multicast connection to which an ABR service of an ATM network is applied.
2. Description of the Related Art
Currently, the ATM Forum or the ITU-T expects a service referred to as an ABR (Available Bit Rate) to be suitable for of applying a data exchange technique using an ATM (Asynchronous Transfer Mode) to high-speed Internet communications such as a LAN (Local Area Network), a WAN (Wide Area Network), etc.
In a system where the ABR service is provided, the information about the congested state of a network is returned from the network to a transmitting terminal, which changes its transmission rate according to this information. That is, a switch monitors the use state of network resources, and notifies the transmitting terminal of its transmission rate. This transmission rate is referred to as an ER (Explicit Cell Rate) value which can be a value between a peak cell rate and a minimum cell rate, both of which are preregistered for each terminal. For example, if the network is not congested, the ER value approximates to the peak cell rate. Therefore, the transmitting terminal can transmit data at a high transmission rate according to the ER value. If the network is congested, the ER value drops to the minimum cell rate. Accordingly, the transmitting terminal transmits data at a low transmission rate according to the ER value. Network congestion and cell discarding are prevented in the ABR service as described above.
FIG. 1 is a schematic diagram for explaining the concept of the ABR service. In the ABR service, a transmitting terminal transmits an RM (Resource Management) cell to a network each time it transmits a predetermined number of user data cells. The RM cell is transferred to a receiving terminal via the network. Upon receipt of the RM cell, the receiving terminal returns the RM cell to the transmitting terminal. The RM cell transferred from the transmitting terminal to the receiving terminal is referred to as an F-RM (Forward RM) cell, while the RM cell returned from the receiving terminal to the transmitting terminal is referred to as a B-RM (Backward RM) cell.
Written to the F-RM cell is the transmission rate allowed by the network for the transmitting terminal, that is, the current ER value. The switch monitors the congested state of the network, and calculates the ER value for the transmitting terminal according to the congested state. The switch then writes the calculated ER value to the B-RM cell to be transferred to the transmitting terminal, and notifies the transmitting terminal of the latest ER value. The transmitting terminal changes its transmission rate according to the ER value written to the received B-RM cell.
FIG. 2 shows an example where multicast is applied to an ABR communication. If a cell is multicast to a plurality of terminals, the process for copying the cell is normally performed in a switch. The switch performing this process is referred to as a copy node. The copy node copies an RM cell as well as a user data cell.
If a copy node 504 determines that the cell received from a transmitting terminal 501 (including a user data cell and an F-RM cell) is a cell to be multicast according to the routing information set in the header of that cell, it copies the cell the same number of times as that of receiving terminals, and transmits the copied cells to respective receiving terminals 502 and 503. The receiving terminals 502 and 503 return an RM cell among other received cells to the copy node 504 as a B-RM cell. The copy node 504 generates a B-RM cell to be transferred to the transmitting terminal 501 from a plurality of B-RM cells received from the receiving terminals 502 and 503. The latest ER value to be notified to the transmitting terminal 501 is written to this B-RM cell. The transmitting terminal 501 adjusts its transmission rate according to the ER value set in the B-RM cell.
Since the ABR communication is a relatively new technique, part of its detailed specification is yet to be determined. Especially, there are many elements yet to be determined in the system where the ABR is introduced to a multicast communication. Also a specific method for determining the above described ER value has not been determined for the multicast communication up to now.
The ER value is determined according to the use state of network resources (the congested state of a network) as described above. However, since the amount of data to be transferred over a network fluctuates, it is complicated to control the update of the ER value according to its fluctuations in a multicast communication. For example, the congested state of the path between the copy node 504 and the receiving terminal 502 may sometimes differ from that of the path between the copy node 504 and the receiving terminal 503. If such a difference occurs, it is desirable that the ER value should be changed.
We cite an example here. Assume that the transmitting terminal 501 transmits data according to a certain ER value, and also the copy node 504 transfers data to the receiving terminals 502 and 503 at the same transfer rate as the ER value. Also assume that congestion occurs on the path between the copy node 504 and the receiving terminal 502 in this situation. If the copy node 504 does not change the ER value to be notified to the transmitting terminal 501 in this case, the cell to be transferred to the receiving terminal 502 will be discarded. If the ER value is decreased to the transfer rate suitable for the path on which the congestion occurs in order to prevent such cell discarding, the transmission rate of the transmitting terminal 501 is lower than that required by the receiving terminal 503. As a result, the system efficiency is degraded. Especially, if the ER value to be notified to the transmitting terminal 501 is made lower than is needed due to instantaneous congestion, the overall transfer efficiency is degraded.
The present invention aims at overcoming the above described problems, and at providing a transfer rate controlling device for improving the transmission (transfer) efficiency while preventing packets from being discarded in a system which multicasts and transmits fixed-length packets.
The transfer rate controlling device according to the present invention assumes the configuration where the transmission rate of a transmitting terminal when the transmitting terminal multicasts a fixed-length packet to a plurality of receiving terminals is controlled in a network where the transfer rate allowed by the path to a receiving terminal is notified to the transmitting terminal by a management fixed-length packet, while the transmitting terminal transfers a fixed-length packet to the receiving terminal. This device comprises: an extracting unit for extracting the transfer rate from the management fixed-length packet which proceeds to the transmitting terminal; a calculating unit for obtaining a parameter instructing a transmission rate of the transmitting terminal by performing a predetermined operation (such as a calculation of an average value of a plurality of transfer rates) for the plurality of transfer rates extracted by the extracting unit; and a notifying unit for notifying the transmitting terminal of the parameter obtained by the calculating unit.
With the above described configuration, an optimum transfer rate can be determined according to a network state even in a multicast communication. Especially, if the average value of a plurality of transfer rates is used as the parameter instructing the transmission rate of a transmitting terminal, the improvement of the transmission efficiency and the prevention of the packet discarding can be implemented in good balance.
The transfer rate controlling device according to the present invention may further comprise a buffer for storing a fixed-length packet which is transmitted from the transmitting terminal and is copied to be transferred to a plurality of receiving terminals in correspondence with the paths to the plurality of receiving terminals; and a transmitting unit for reading a fixed-length packet from the buffer according to the transfer rate extracted by the extracting unit corresponding to the path on which a management fixed-length packet storing the extracted transfer rate has been transferred, and for transmitting the read fixed-length packet via the path, in addition to the above described configuration.